#include <bits/stdc++.h>
using namespace std;
int t;
int mp[4][4];
char s[105];
void print(int n[4][4]){
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            printf("%d",n[i][j]);
            if(j!=3){
                printf(" ");
            }
        }
        printf("\n");
    }
}
int main(void){
    scanf("%d",&t);
    while(t--){
        for(int i=0;i<4;i++){
            for(int j=0;j<4;j++){
                scanf("%d",&mp[i][j]);
            }
        }
        scanf("%s",s);
        int len=strlen(s);
        for(int i=0;i<len;i++){
            int tmp[4][4];
            memset(tmp,0,sizeof(tmp));
            if(s[i]=='u'){
                for(int j=0;j<4;j++){
                    int k=0;
                    for(int i=0;i<4;i++){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[k++][j]=mp[i][j];
                    }
                }
                for(int j=0;j<4;j++){
                    for(int i=1;i<4;i++){
                        if(tmp[i][j]==tmp[i-1][j]){
                            tmp[i][j]=0;
                            tmp[i-1][j]*=2;
                        }
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                memset(tmp,0,sizeof(tmp));
                for(int j=0;j<4;j++){
                    int k=0;
                    for(int i=0;i<4;i++){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[k++][j]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                //print(mp);
            }else if(s[i]=='d'){
                for(int j=0;j<4;j++){
                    int k=3;
                    for(int i=3;i>=0;i--){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[k--][j]=mp[i][j];
                    }
                }
                for(int j=0;j<4;j++){
                    for(int i=2;i>=0;i--){
                        if(tmp[i][j]==tmp[i+1][j]){
                            tmp[i][j]=0;
                            tmp[i+1][j]*=2;
                        }
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                memset(tmp,0,sizeof(tmp));
                for(int j=0;j<4;j++){
                    int k=3;
                    for(int i=3;i>=0;i--){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[k--][j]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                //print(mp);
            }else if(s[i]=='l'){
                for(int i=0;i<4;i++){
                    int k=0;
                    for(int j=0;j<4;j++){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[i][k++]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=1;j<4;j++){
                        if(tmp[i][j]==tmp[i][j-1]){
                            tmp[i][j]=0;
                            tmp[i][j-1]*=2;
                        }
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                memset(tmp,0,sizeof(tmp));
                for(int i=0;i<4;i++){
                    int k=0;
                    for(int j=0;j<4;j++){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[i][k++]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                //print(mp);
            }else if(s[i]=='r'){
                for(int i=0;i<4;i++){
                    int k=3;
                    for(int j=3;j>=0;j--){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[i][k--]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=2;j>=0;j--){
                        if(tmp[i][j]==tmp[i][j+1]){
                            tmp[i][j]=0;
                            tmp[i][j+1]*=2;
                        }
                    }
                }
                //print(tmp);
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                memset(tmp,0,sizeof(tmp));
                for(int i=0;i<4;i++){
                    int k=3;
                    for(int j=3;j>=0;j--){
                        if(mp[i][j]==0){
                            continue;
                        }
                        tmp[i][k--]=mp[i][j];
                    }
                }
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++){
                        mp[i][j]=tmp[i][j];
                    }
                }
                //print(mp);
            }
        }
        print(mp);
        if(t!=0){
            printf("\n");
        }
    }
    return 0;
}